package com.snake.springboot.authority.api.service;

import com.snake.springboot.authority.api.model.AuthSysAdminModel;
import com.snake.springboot.authority.api.request.AuthSysAdminChangeReq;
import com.snake.springboot.authority.api.request.AuthSysAdminQuery;
import org.snake.common.result.ReturnList;

import java.util.List;

/**
 * 类 {@code AuthSysAdminService}  <br> .
 * <p>权限管理-系统管理员接口
 * <p>创建时间：2025/01/13
 *
 * @author Huang.yj
 */
public interface AuthSysAdminService {

    AuthSysAdminModel addSystemAdmin(AuthSysAdminModel model) throws Exception;

    AuthSysAdminModel modifySystemAdmin(AuthSysAdminModel model) throws Exception;

    int removeSystemAdmin(String sysAdminId) throws Exception;

    int changeEnable(AuthSysAdminModel model) throws Exception;

    int changeDefaultFlag(AuthSysAdminModel model) throws Exception;

    int changePassword(AuthSysAdminChangeReq params) throws Exception;

    AuthSysAdminModel querySingleSystemAdmin(String sysAdminId);

    AuthSysAdminModel querySingleSystemAdminByAccount(String sysAdminAccount);

    List<AuthSysAdminModel> querySystemAdminList(AuthSysAdminModel params);

    ReturnList<AuthSysAdminModel> querySystemAdminList(AuthSysAdminQuery query);
}
